package org.eduapp.trains.dao.account;

import java.util.List;

import org.eduapp.trains.DAOException;
import org.eduapp.trains.dao.BaseDAO;
import org.eduapp.trains.model.account.ModelAccount;
import org.eduapp.trains.web.support.PaginationSupport;

/**
 * 
 * @author jeccy
 *
 */
public interface AccountDAO extends BaseDAO<ModelAccount> {
	
	/**
	 * get account by given account no.
	 * @param accountNo
	 * @return
	 * @throws DAOException
	 */
	ModelAccount getAccountByNo (String accountNo) throws DAOException;
	
	/**
	 * 
	 * @param model
	 * @return
	 * @throws DAOException
	 */
	List<ModelAccount> getByModel(ModelAccount model) throws DAOException;
	
	/**
	 * 
	 * @param model
	 * @param pageSize
	 * @param offset
	 * @param order
	 * @param isDesc
	 * @return
	 * @throws DAOException
	 */
	PaginationSupport<ModelAccount> get(ModelAccount model,
			int pageSize, int offset, String order, Boolean isDesc) throws DAOException;
	
	
}
